package cn.rcth.base.serivce;

import cn.rcth.base.VO.VerifyCodeVO;
import cn.rcth.base.domain.User;
import cn.rcth.base.domain.VerifyCode;
import cn.rcth.base.msg.WxOpenMsg;

public interface IUserSerivce {

    /**
     * 查询数据库是否存在当前用户并将用户默认数据存入数据库
     * @openMsg
     */
    User ifUser(WxOpenMsg openMsg);

    /**
     * 判断用户是否存在并存入数据库
     * @param openId 唯一id
     * @param phone  手机号
     */
    void ifInsertUser(String openId,String phone);

    /**
     * 验证 验证码和手机号是否一致
     * @param verifyCode 验证信息
     * @return 对错
     */
    boolean ifVerifyCode(VerifyCode verifyCode);

    /**
     * 判断手机号是否已经注册
     * @param phone
     * @return
     */
    User ifPhone(String phone);

    /**
     * 保存用户的基本信息
     * @param userId  用户id
     * @param gender  性别
     * @param nickName  昵称
     * @param heodImg 头像
     */
    void saveUser(Long userId, Integer gender, String nickName, String heodImg);

    /**
     * 保存手机号
     * @param phone 手机号
     */
    void savePhone(Long userId ,String phone);

    /**
     * 通过用户id获取用户
     * @param userId 用户id
     * @return 用户
     */
    User getUser(Long userId);
}
